{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-runtime",
      "artifactVersion": "2023.11.13",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.connect.standalone",
          "org.nuxeo.launcher.commons",
          "org.nuxeo.osgi",
          "org.nuxeo.runtime",
          "org.nuxeo.runtime.aws",
          "org.nuxeo.runtime.cluster",
          "org.nuxeo.runtime.datasource",
          "org.nuxeo.runtime.jtajca",
          "org.nuxeo.runtime.kv",
          "org.nuxeo.runtime.management",
          "org.nuxeo.runtime.metrics",
          "org.nuxeo.runtime.migration",
          "org.nuxeo.runtime.mongodb",
          "org.nuxeo.runtime.nuxeo-runtime-deploy",
          "org.nuxeo.runtime.pubsub",
          "org.nuxeo.runtime.reload",
          "org.nuxeo.runtime.stream"
        ],
        "hierarchyPath": "/grp:org.nuxeo.runtime",
        "id": "grp:org.nuxeo.runtime",
        "name": "org.nuxeo.runtime",
        "parentIds": [],
        "readmes": [],
        "version": "2023.11"
      },
      "bundleId": "org.nuxeo.runtime",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.cache.CacheService--caches",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.cache.config/Contributions/org.nuxeo.ecm.core.cache.config--caches",
              "id": "org.nuxeo.ecm.core.cache.config--caches",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.cache.CacheService",
                "name": "org.nuxeo.ecm.core.cache.CacheService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"caches\" target=\"org.nuxeo.ecm.core.cache.CacheService\">\n    <cache name=\"default-cache\">\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"maxSize\">10000</option>\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.cache.config",
          "name": "org.nuxeo.ecm.core.cache.config",
          "requirements": [],
          "resolutionOrder": 0,
          "services": [],
          "startOrder": 130,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.cache.config\">\n\n  <extension target=\"org.nuxeo.ecm.core.cache.CacheService\"\n    point=\"caches\">\n    <cache name=\"default-cache\">\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"maxSize\">10000</option>\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"user-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"group-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"digestauth-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-user-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n    <cache name=\"ldap-group-entry-cache-without-references\">\n      <option name=\"maxSize\">10000</option>\n      <ttl>20</ttl><!-- minutes -->\n      <option name=\"concurrencyLevel\">500</option>\n    </cache>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/cache-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.cluster.ClusterService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/cluster-config/Contributions/cluster-config--configuration",
              "id": "cluster-config--configuration",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.cluster.ClusterService",
                "name": "org.nuxeo.runtime.cluster.ClusterService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.cluster.ClusterService\">\n    <clusterNode enabled=\"\" id=\"\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/cluster-config",
          "name": "cluster-config",
          "requirements": [],
          "resolutionOrder": 1,
          "services": [],
          "startOrder": 15,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"cluster-config\">\n\n  <extension target=\"org.nuxeo.runtime.cluster.ClusterService\" point=\"configuration\">\n    <clusterNode id=\"\" enabled=\"\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/cluster-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.ui.web.cors.config",
          "name": "org.nuxeo.ecm.platform.ui.web.cors.config",
          "requirements": [],
          "resolutionOrder": 2,
          "services": [],
          "startOrder": 538,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.cors.config\">\n\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/cors-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.ui.web.cors.dev",
          "name": "org.nuxeo.ecm.platform.ui.web.cors.dev",
          "requirements": [],
          "resolutionOrder": 3,
          "services": [],
          "startOrder": 539,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ui.web.cors.dev\">\n\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/cors-dev-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.datasource--datasources",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.datasource.server.contrib/Contributions/org.nuxeo.runtime.datasource.server.contrib--datasources",
              "id": "org.nuxeo.runtime.datasource.server.contrib--datasources",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.datasource",
                "name": "org.nuxeo.runtime.datasource",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"datasources\" target=\"org.nuxeo.runtime.datasource\">\n    <datasource accessToUnderlyingConnectionAllowed=\"true\" cacheState=\"false\" driverClassName=\"org.h2.Driver\" maxTotal=\"100\" maxWaitMillis=\"1000\" minTotal=\"5\" name=\"jdbc/nuxeo\" password=\"********\" url=\"jdbc:h2:/var/lib/nuxeo/h2/nuxeo;DB_CLOSE_ON_EXIT=false;MODE=LEGACY\" username=\"sa\" validationQuery=\"\">********</datasource>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/NuxeoDS\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxsqldirectory\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxrelations-default-jena\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/comment-relations\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxaudit-logs\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxjbpm\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/placeful_service_ds\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxwebwidgets\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/nxuidsequencer\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/keyvaluestore\" type=\"javax.sql.DataSource\"/>\n    <link global=\"jdbc/nuxeo\" name=\"jdbc/repository_default\" type=\"javax.sql.DataSource\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.datasource.server.contrib",
          "name": "org.nuxeo.runtime.datasource.server.contrib",
          "requirements": [],
          "resolutionOrder": 4,
          "services": [],
          "startOrder": 721,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.runtime.datasource.server.contrib\">\n\n  <extension target=\"org.nuxeo.runtime.datasource\" point=\"datasources\">\n    <datasource name=\"jdbc/nuxeo\" driverClassName=\"org.h2.Driver\" url=\"jdbc:h2:${nuxeo.data.dir}/h2/nuxeo;DB_CLOSE_ON_EXIT=false;MODE=LEGACY\" username=\"sa\" password=\"********\" maxTotal=\"100\" minTotal=\"5\" maxWaitMillis=\"1000\" validationQuery=\"\" cacheState=\"false\" accessToUnderlyingConnectionAllowed=\"true\">********</datasource>\n    <link name=\"jdbc/NuxeoDS\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/nxsqldirectory\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/nxrelations-default-jena\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/comment-relations\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/nxaudit-logs\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/nxjbpm\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/placeful_service_ds\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/nxwebwidgets\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/nxuidsequencer\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/keyvaluestore\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n    <link name=\"jdbc/repository_default\" global=\"jdbc/nuxeo\" type=\"javax.sql.DataSource\"/>\n  </extension>\n</component>",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/datasources-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.directory.ldap.storage.users",
          "name": "org.nuxeo.ecm.directory.ldap.storage.users",
          "requirements": [],
          "resolutionOrder": 5,
          "services": [],
          "startOrder": 201,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.directory.ldap.storage.users\">\n\n<!-- Using default configuration from default-directory-bundle.xml -->\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/default-ldap-users-directory-bundle.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.blob.BlobManager--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/default-repository-config/Contributions/default-repository-config--configuration",
              "id": "default-repository-config--configuration",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.blob.BlobManager",
                "name": "org.nuxeo.ecm.core.blob.BlobManager",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.ecm.core.blob.BlobManager\">\n    <blobprovider name=\"default\">\n      <class>org.nuxeo.ecm.core.blob.LocalBlobProvider</class>\n      <property name=\"path\">/var/lib/nuxeo/binaries</property>\n      <property name=\"key\"/>\n    </blobprovider>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.storage.sql.RepositoryService--repository",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/default-repository-config/Contributions/default-repository-config--repository",
              "id": "default-repository-config--repository",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.storage.sql.RepositoryService",
                "name": "org.nuxeo.ecm.core.storage.sql.RepositoryService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"repository\" target=\"org.nuxeo.ecm.core.storage.sql.RepositoryService\">\n    <repository label=\"label.default.repository\" name=\"default\">\n      <pool blockingTimeoutMillis=\"100\" maxPoolSize=\"20\" minPoolSize=\"0\"/>\n      <noDDL>false</noDDL>\n      <ddlMode>execute</ddlMode>\n      <aclOptimizations enabled=\"true\" readAclMaxSize=\"0\"/>\n      <pathOptimizations enabled=\"true\"/>\n      <idType>varchar</idType>\n      <changeTokenEnabled>true</changeTokenEnabled>\n      <indexing>\n        <!-- for H2 -->\n        <fulltext disabled=\"false\" searchDisabled=\"true\" storedInBlob=\"false\">\n          <index name=\"default\">\n            <!-- all props implied -->\n          </index>\n        </fulltext>\n      </indexing>\n      <usersSeparator key=\",\"/>\n    </repository>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.kv.KeyValueService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/default-repository-config/Contributions/default-repository-config--configuration1",
              "id": "default-repository-config--configuration1",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.kv.KeyValueService",
                "name": "org.nuxeo.runtime.kv.KeyValueService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.kv.KeyValueService\">\n    <store class=\"org.nuxeo.ecm.core.storage.sql.kv.SQLKeyValueStore\" name=\"default\">\n      <property name=\"datasource\">jdbc/keyvaluestore</property>\n      <property name=\"table\">kv</property>\n    </store>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/default-repository-config",
          "name": "default-repository-config",
          "requirements": [],
          "resolutionOrder": 6,
          "services": [],
          "startOrder": 27,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"default-repository-config\">\n  <extension target=\"org.nuxeo.ecm.core.blob.BlobManager\" point=\"configuration\">\n    <blobprovider name=\"default\">\n      <class>org.nuxeo.ecm.core.blob.LocalBlobProvider</class>\n      <property name=\"path\">/var/lib/nuxeo/binaries</property>\n      <property name=\"key\"></property>\n    </blobprovider>\n  </extension>\n\n\n\n  <extension target=\"org.nuxeo.ecm.core.storage.sql.RepositoryService\"\n    point=\"repository\">\n    <repository name=\"default\" label=\"label.default.repository\">\n      <pool minPoolSize=\"0\" maxPoolSize=\"20\"\n        blockingTimeoutMillis=\"100\" />\n      <noDDL>false</noDDL>\n      <ddlMode>execute</ddlMode>\n      <aclOptimizations enabled=\"true\" readAclMaxSize=\"0\"/>\n      <pathOptimizations enabled=\"true\"/>\n      <idType>varchar</idType>\n      <changeTokenEnabled>true</changeTokenEnabled>\n      <indexing>\n        <!-- for H2 -->\n        <fulltext disabled=\"false\"\n                  storedInBlob=\"false\"\n                  searchDisabled=\"true\">\n          <index name=\"default\">\n            <!-- all props implied -->\n          </index>\n        </fulltext>\n      </indexing>\n      <usersSeparator key=\",\" />\n    </repository>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.kv.KeyValueService\" point=\"configuration\">\n    <store name=\"default\" class=\"org.nuxeo.ecm.core.storage.sql.kv.SQLKeyValueStore\">\n      <property name=\"datasource\">jdbc/keyvaluestore</property>\n      <property name=\"table\">kv</property>\n    </store>\n  </extension>\n\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/default-repository-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.mail.MailServiceComponent--senders",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.mail.sender.default.config/Contributions/org.nuxeo.mail.sender.default.config--senders",
              "id": "org.nuxeo.mail.sender.default.config--senders",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.mail.MailServiceComponent",
                "name": "org.nuxeo.mail.MailServiceComponent",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"senders\" target=\"org.nuxeo.mail.MailServiceComponent\">\n\n    <sender class=\"org.nuxeo.mail.SMTPMailSender\" name=\"default\">\n      <property name=\"mail.from\">noreply@nuxeo.com</property>\n      <property name=\"mail.transport.protocol\">smtp</property>\n      <property name=\"mail.smtp.host\">localhost</property>\n      <property name=\"mail.smtp.port\">25</property>\n    </sender>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.mail.sender.default.config",
          "name": "org.nuxeo.mail.sender.default.config",
          "requirements": [],
          "resolutionOrder": 7,
          "services": [],
          "startOrder": 682,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.mail.sender.default.config\">\n\n  <extension target=\"org.nuxeo.mail.MailServiceComponent\" point=\"senders\">\n\n    <sender name=\"default\" class=\"org.nuxeo.mail.SMTPMailSender\">\n      <property name=\"mail.from\">noreply@nuxeo.com</property>\n      <property name=\"mail.transport.protocol\">smtp</property>\n      <property name=\"mail.smtp.host\">localhost</property>\n      <property name=\"mail.smtp.port\">25</property>\n    </sender>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/default-smtp-sender-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.query.api.PageProviderService--replacers",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig/Contributions/org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig--replacers",
              "id": "org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig--replacers",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.query.api.PageProviderService",
                "name": "org.nuxeo.ecm.platform.query.api.PageProviderService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"replacers\" target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\">\n\n    <replacer enabled=\"true\" withClass=\"org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider\">\n      <provider>default_search</provider>\n      <provider>default_document_suggestion</provider>\n      <provider>DEFAULT_DOCUMENT_SUGGESTION</provider>\n      <provider>advanced_document_content</provider>\n      <provider>domain_documents</provider>\n      <provider>expired_search</provider>\n      <provider>default_trash_search</provider>\n      <provider>REST_API_SEARCH_ADAPTER</provider>\n      <provider>all_collections</provider>\n      <provider>simple_search</provider>\n      <provider>document_content</provider>\n      <provider>section_content</provider>\n      <provider>document_trash_content</provider>\n      <provider>orderable_document_content</provider>\n      <provider>document_picker</provider>\n    </replacer>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig",
          "name": "org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig",
          "requirements": [],
          "resolutionOrder": 8,
          "services": [],
          "startOrder": 417,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.query.api.PageProviderservice.replacers.defaultConfig\">\n\n  <extension target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\" point=\"replacers\">\n\n    <replacer withClass=\"org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider\"\n      enabled=\"${elasticsearch.enabled:=true}\">\n      <provider>default_search</provider>\n      <provider>default_document_suggestion</provider>\n      <provider>DEFAULT_DOCUMENT_SUGGESTION</provider>\n      <provider>advanced_document_content</provider>\n      <provider>domain_documents</provider>\n      <provider>expired_search</provider>\n      <provider>default_trash_search</provider>\n      <provider>REST_API_SEARCH_ADAPTER</provider>\n      <provider>all_collections</provider>\n      <provider>simple_search</provider>\n      <provider>document_content</provider>\n      <provider>section_content</provider>\n      <provider>document_trash_content</provider>\n      <provider>orderable_document_content</provider>\n      <provider>document_picker</provider>\n    </replacer>\n\n  </extension>\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/elasticsearch-classreplacer-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.hsts.config",
          "name": "org.nuxeo.hsts.config",
          "requirements": [],
          "resolutionOrder": 9,
          "services": [],
          "startOrder": 676,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.hsts.config\">\n\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/hsts-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.jwt.JWTService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.jwt.config/Contributions/org.nuxeo.ecm.jwt.config--configuration",
              "id": "org.nuxeo.ecm.jwt.config--configuration",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.jwt.JWTService",
                "name": "org.nuxeo.ecm.jwt.JWTService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"configuration\" target=\"org.nuxeo.ecm.jwt.JWTService\">\n    <configuration>\n      <defaultTTL>3600</defaultTTL>\n      <secret>********</secret>\n    </configuration>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.jwt.config",
          "name": "org.nuxeo.ecm.jwt.config",
          "requirements": [],
          "resolutionOrder": 10,
          "services": [],
          "startOrder": 215,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.ecm.jwt.config\">\n\n  <extension target=\"org.nuxeo.ecm.jwt.JWTService\" point=\"configuration\">\n    <configuration>\n      <defaultTTL>3600</defaultTTL>\n      <secret>********</secret>\n    </configuration>\n  </extension>\n\n</component>",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/jwt-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.kafka.defaultConfig",
          "name": "org.nuxeo.kafka.defaultConfig",
          "requirements": [],
          "resolutionOrder": 11,
          "services": [],
          "startOrder": 678,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.kafka.defaultConfig\">\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/kafka-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.directory.GenericDirectory--directories",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.digestauth.config/Contributions/org.nuxeo.ecm.platform.digestauth.config--directories",
              "id": "org.nuxeo.ecm.platform.digestauth.config--directories",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.directory.GenericDirectory",
                "name": "org.nuxeo.ecm.directory.GenericDirectory",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"directories\" target=\"org.nuxeo.ecm.directory.GenericDirectory\">\n\n    <directory extends=\"template-directory\" name=\"digestauth\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n    </directory>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.usermanager.UserService--userManager",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.digestauth.config/Contributions/org.nuxeo.ecm.platform.digestauth.config--userManager",
              "id": "org.nuxeo.ecm.platform.digestauth.config--userManager",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.usermanager.UserService",
                "name": "org.nuxeo.ecm.platform.usermanager.UserService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"userManager\" target=\"org.nuxeo.ecm.platform.usermanager.UserService\">\n    <userManager>\n      <digestAuthDirectory>digestauth</digestAuthDirectory>\n      <digestAuthRealm>NUXEO</digestAuthRealm>\n      <userCacheName>default-cache</userCacheName>\n    </userManager>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.digestauth.config",
          "name": "org.nuxeo.ecm.platform.digestauth.config",
          "requirements": [],
          "resolutionOrder": 12,
          "services": [],
          "startOrder": 315,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.ecm.platform.digestauth.config\">\n\n  <extension target=\"org.nuxeo.ecm.directory.GenericDirectory\" point=\"directories\">\n\n    <directory name=\"digestauth\" extends=\"template-directory\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n    </directory>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.usermanager.UserService\" point=\"userManager\">\n    <userManager>\n      <digestAuthDirectory>digestauth</digestAuthDirectory>\n      <digestAuthRealm>NUXEO</digestAuthRealm>\n      <userCacheName>default-cache</userCacheName>\n    </userManager>\n  </extension>\n\n</component>",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/login-digest-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.directory.GenericDirectory--directories",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.directory.storage/Contributions/org.nuxeo.ecm.directory.storage--directories",
              "id": "org.nuxeo.ecm.directory.storage--directories",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.directory.GenericDirectory",
                "name": "org.nuxeo.ecm.directory.GenericDirectory",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"directories\" target=\"org.nuxeo.ecm.directory.GenericDirectory\">\n\n    <directory extends=\"template-user\" name=\"userDirectory\">\n\n      <schema>user</schema>\n\n      <types>\n        <type>system</type>\n      </types>\n\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <passwordHashAlgorithm>SSHA</passwordHashAlgorithm>\n      <autoincrementIdField>false</autoincrementIdField>\n      <dataFile>users.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <querySizeLimit>50</querySizeLimit>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>user-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>user-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <inverseReference directory=\"groupDirectory\" dualReferenceField=\"members\" field=\"groups\"/>\n      </references>\n\n    </directory>\n\n    <directory extends=\"template-group\" name=\"groupDirectory\">\n\n      <schema>group</schema>\n      <types>\n        <type>system</type>\n      </types>\n      <idField>groupname</idField>\n      <dataFile>groups.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <autoincrementIdField>false</autoincrementIdField>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>group-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>group-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <reference dataFile=\"user2group.csv\" directory=\"userDirectory\" field=\"members\" name=\"user2group\" source=\"groupId\" target=\"userId\"/>\n        <!-- Warning ! From Nuxeo 5.3.1, a wrong setting has been fixed. See\n        http://jira.nuxeo.org/browse/NXP-4401 . Nuxeo upgrades would need a fix in the\n        database (inverting parentGroupId and childGroupId in the group2group)  -->\n        <reference directory=\"groupDirectory\" field=\"subGroups\" name=\"group2group\" source=\"parentGroupId\" target=\"childGroupId\"/>\n        <inverseReference directory=\"groupDirectory\" dualReferenceField=\"subGroups\" field=\"parentGroups\"/>\n      </references>\n\n    </directory>\n\n    <directory extends=\"template-directory\" name=\"digestauth\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n      <cacheEntryName>digestauth-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>digestauth-entry-cache-without-references</cacheEntryWithoutReferencesName>\n    </directory>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.directory.storage",
          "name": "org.nuxeo.ecm.directory.storage",
          "requirements": [
            "org.nuxeo.ecm.platform.digestauth.config"
          ],
          "resolutionOrder": 13,
          "services": [],
          "startOrder": 205,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.ecm.directory.storage\">\n\n  <require>org.nuxeo.ecm.platform.digestauth.config</require>\n\n  <extension target=\"org.nuxeo.ecm.directory.GenericDirectory\" point=\"directories\">\n\n    <directory name=\"userDirectory\" extends=\"template-user\">\n\n      <schema>user</schema>\n\n      <types>\n        <type>system</type>\n      </types>\n\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <passwordHashAlgorithm>SSHA</passwordHashAlgorithm>\n      <autoincrementIdField>false</autoincrementIdField>\n      <dataFile>users.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <querySizeLimit>50</querySizeLimit>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>user-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>user-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <inverseReference field=\"groups\" directory=\"groupDirectory\" dualReferenceField=\"members\"/>\n      </references>\n\n    </directory>\n\n    <directory name=\"groupDirectory\" extends=\"template-group\">\n\n      <schema>group</schema>\n      <types>\n        <type>system</type>\n      </types>\n      <idField>groupname</idField>\n      <dataFile>groups.csv</dataFile>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n      <autoincrementIdField>false</autoincrementIdField>\n\n      <!-- comment <cache* /> tags to disable the cache -->\n      <cacheEntryName>group-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>group-entry-cache-without-references</cacheEntryWithoutReferencesName>\n\n      <references>\n        <reference field=\"members\" directory=\"userDirectory\" name=\"user2group\" source=\"groupId\" target=\"userId\" dataFile=\"user2group.csv\"/>\n        <!-- Warning ! From Nuxeo 5.3.1, a wrong setting has been fixed. See\n        http://jira.nuxeo.org/browse/NXP-4401 . Nuxeo upgrades would need a fix in the\n        database (inverting parentGroupId and childGroupId in the group2group)  -->\n        <reference field=\"subGroups\" directory=\"groupDirectory\" name=\"group2group\" source=\"parentGroupId\" target=\"childGroupId\"/>\n        <inverseReference field=\"parentGroups\" directory=\"groupDirectory\" dualReferenceField=\"subGroups\"/>\n      </references>\n\n    </directory>\n\n    <directory name=\"digestauth\" extends=\"template-directory\">\n      <schema>digestauth</schema>\n      <idField>username</idField>\n      <passwordField>password</passwordField>\n      <types>\n        <type>system</type>\n      </types>\n      <cacheEntryName>digestauth-entry-cache</cacheEntryName>\n      <cacheEntryWithoutReferencesName>digestauth-entry-cache-without-references</cacheEntryWithoutReferencesName>\n    </directory>\n\n  </extension>\n\n</component>",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/default-directories-bundle.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.management.ServerLocator--locators",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.management.ServerLocatorContrib/Contributions/org.nuxeo.runtime.management.ServerLocatorContrib--locators",
              "id": "org.nuxeo.runtime.management.ServerLocatorContrib--locators",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.management.ServerLocator",
                "name": "org.nuxeo.runtime.management.ServerLocator",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"locators\" target=\"org.nuxeo.runtime.management.ServerLocator\">\n    <locator default=\"true\" domain=\"jboss\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.management.ServerLocatorContrib",
          "name": "org.nuxeo.runtime.management.ServerLocatorContrib",
          "requirements": [],
          "resolutionOrder": 14,
          "services": [],
          "startOrder": 722,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.management.ServerLocatorContrib\">\n\n  <!-- nuxeo beans are published by default in the platform mbean server,\n       uncomment one of the following configuration if you want to use\n       another place-->\n\n  <!-- use jboss mbean server as default  -->\n  <extension target=\"org.nuxeo.runtime.management.ServerLocator\"\n    point=\"locators\">\n    <locator domain=\"jboss\" default=\"true\" />\n  </extension>\n\n  <!-- use a dedicated mbean server bound\n       server URL can be found in the server log at line \"Started a mbean server : ...\"\n  <extension target=\"org.nuxeo.runtime.management.ServerLocator\"\n    point=\"locators\">\n    <locator domain=\"org.nuxeo\" exist=\"false\" rmiPort=\"2100\"/>\n  </extension> -->\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/management-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.metrics.MetricsService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.metrics.default.contrib/Contributions/org.nuxeo.runtime.metrics.default.contrib--configuration",
              "id": "org.nuxeo.runtime.metrics.default.contrib--configuration",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.metrics.MetricsService",
                "name": "org.nuxeo.runtime.metrics.MetricsService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.metrics.MetricsService\">\n    <configuration enabled=\"true\">\n      <instrument enabled=\"true\" name=\"jvm\"/>\n      <instrument enabled=\"true\" name=\"log4j\"/>\n      <instrument enabled=\"true\" name=\"tomcat\"/>\n      <filter name=\"default\">\n        <allow>\n          <prefix>nuxeo.cache.default-cache.</prefix>\n          <prefix>nuxeo.cache.user-entry-cache.</prefix>\n          <prefix>nuxeo.cache.group-entry-cache.</prefix>\n          <prefix>nuxeo.directories.directory.userDirectory</prefix>\n          <prefix>nuxeo.directories.directory.groupDirectory</prefix>\n        </allow>\n        <deny>\n          <prefix>nuxeo.cache</prefix>\n          <prefix>nuxeo.directories</prefix>\n          <prefix>nuxeo.ActionService</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.trace</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.debug</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.info</prefix>\n          <prefix>org.nuxeo.ecm.core.management.standby.StandbyComponent</prefix>\n          <!-- Timer expansion to remove -->\n          <expansion>stddev</expansion>\n          <expansion>p75</expansion>\n          <expansion>p98</expansion>\n          <expansion>p999</expansion>\n          <expansion>m5_rate</expansion>\n          <expansion>m15_rate</expansion>\n          <expansion>mean_rate</expansion>\n        </deny>\n      </filter>\n      <filter name=\"minimal\">\n        <allow>\n          <prefix>jvm.threads</prefix>\n          <prefix>jvm.memory.heap</prefix>\n          <prefix>jvm.memory.total</prefix>\n          <prefix>jvm.garbage.G1_Old_Generation.time</prefix>\n          <prefix>jvm.garbage.G1_Young_Generation.time</prefix>\n        </allow>\n        <deny>\n          <prefix>jvm.</prefix>\n          <prefix>nuxeo.cache</prefix>\n          <prefix>nuxeo.work.queue</prefix>\n          <prefix>nuxeo.directories</prefix>\n          <prefix>nuxeo.ActionService</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.trace</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.info</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.debug</prefix>\n          <prefix>org.nuxeo.ecm.core.management.standby.StandbyComponent</prefix>\n          <!-- Timer expansion to remove -->\n          <expansion>stddev</expansion>\n          <expansion>min</expansion>\n          <expansion>p50</expansion>\n          <expansion>p75</expansion>\n          <expansion>p95</expansion>\n          <expansion>p98</expansion>\n          <expansion>p999</expansion>\n          <expansion>m5_rate</expansion>\n          <expansion>m15_rate</expansion>\n          <expansion>mean_rate</expansion>\n        </deny>\n      </filter>\n    </configuration>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.metrics.MetricsService--reporter",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.metrics.default.contrib/Contributions/org.nuxeo.runtime.metrics.default.contrib--reporter",
              "id": "org.nuxeo.runtime.metrics.default.contrib--reporter",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.metrics.MetricsService",
                "name": "org.nuxeo.runtime.metrics.MetricsService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"reporter\" target=\"org.nuxeo.runtime.metrics.MetricsService\">\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.JmxReporter\" enabled=\"true\" name=\"jmx\"/>\n\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.GraphiteReporter\" enabled=\"false\" name=\"graphite\" pollInterval=\"30\">\n      <option name=\"prefix\"/>\n      <option name=\"udp\">false</option>\n      <option name=\"host\">graphite</option>\n      <option name=\"port\">2003</option>\n    </reporter>\n\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.DatadogReporter\" enabled=\"false\" name=\"datadog\" pollInterval=\"60\">\n      <option name=\"hostname\"/>\n      <option name=\"apiKey\">********</option>\n      <option name=\"udp\">false</option>\n      <option name=\"host\">localhost</option>\n      <option name=\"port\">8125</option>\n      <option name=\"tags\">nuxeo</option>\n      <option name=\"emptyTimerAsCount\">false</option>\n    </reporter>\n\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.PrometheusReporter\" enabled=\"false\" name=\"prometheus\">\n      <option name=\"port\">9090</option>\n    </reporter>\n\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.JaegerReporter\" enabled=\"false\" name=\"jaeger\">\n      <option name=\"url\"/>\n      <option name=\"timeout\">10s</option>\n      <option name=\"maxAttributes\">128</option>\n      <option name=\"maxAnnotations\">128</option>\n      <option name=\"samplerProbability\">0</option>\n    </reporter>\n\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.ZipkinReporter\" enabled=\"false\" name=\"zipkin\">\n      <option name=\"url\"/>\n      <option name=\"timeout\">10s</option>\n      <option name=\"maxAttributes\">128</option>\n      <option name=\"maxAnnotations\">128</option>\n      <option name=\"samplerProbability\">0</option>\n    </reporter>\n\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.ZPageReporter\" enabled=\"false\" name=\"zpage\">\n      <option name=\"port\">8887</option>\n    </reporter>\n\n    <reporter class=\"org.nuxeo.runtime.metrics.reporter.DatadogTraceReporter\" enabled=\"false\" name=\"datadogTrace\">\n      <option name=\"url\">http://localhost:8126/v0.3/traces</option>\n      <option name=\"service\">nuxeo</option>\n      <option name=\"timeout\">10s</option>\n      <option name=\"maxAttributes\">128</option>\n      <option name=\"maxAnnotations\">128</option>\n      <option name=\"samplerProbability\">0</option>\n    </reporter>\n\n    <reporter class=\"org.nuxeo.runtime.stream.StreamMetricsNuxeoReporter\" enabled=\"true\" name=\"stream\" pollInterval=\"60\">\n    </reporter>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.ConfigurationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.metrics.default.contrib/Contributions/org.nuxeo.runtime.metrics.default.contrib--configuration1",
              "id": "org.nuxeo.runtime.metrics.default.contrib--configuration1",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.ConfigurationService",
                "name": "org.nuxeo.runtime.ConfigurationService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.ConfigurationService\">\n    <property name=\"metrics.streams.interval\">60s</property>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.metrics.default.contrib",
          "name": "org.nuxeo.runtime.metrics.default.contrib",
          "requirements": [],
          "resolutionOrder": 15,
          "services": [],
          "startOrder": 723,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.runtime.metrics.default.contrib\">\n\n  <extension target=\"org.nuxeo.runtime.metrics.MetricsService\" point=\"configuration\">\n    <configuration enabled=\"true\">\n      <instrument name=\"jvm\" enabled=\"true\"/>\n      <instrument name=\"log4j\" enabled=\"true\"/>\n      <instrument name=\"tomcat\" enabled=\"true\"/>\n      <filter name=\"default\">\n        <allow>\n          <prefix>nuxeo.cache.default-cache.</prefix>\n          <prefix>nuxeo.cache.user-entry-cache.</prefix>\n          <prefix>nuxeo.cache.group-entry-cache.</prefix>\n          <prefix>nuxeo.directories.directory.userDirectory</prefix>\n          <prefix>nuxeo.directories.directory.groupDirectory</prefix>\n        </allow>\n        <deny>\n          <prefix>nuxeo.cache</prefix>\n          <prefix>nuxeo.directories</prefix>\n          <prefix>nuxeo.ActionService</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.trace</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.debug</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.info</prefix>\n          <prefix>org.nuxeo.ecm.core.management.standby.StandbyComponent</prefix>\n          <!-- Timer expansion to remove -->\n          <expansion>stddev</expansion>\n          <expansion>p75</expansion>\n          <expansion>p98</expansion>\n          <expansion>p999</expansion>\n          <expansion>m5_rate</expansion>\n          <expansion>m15_rate</expansion>\n          <expansion>mean_rate</expansion>\n        </deny>\n      </filter>\n      <filter name=\"minimal\">\n        <allow>\n          <prefix>jvm.threads</prefix>\n          <prefix>jvm.memory.heap</prefix>\n          <prefix>jvm.memory.total</prefix>\n          <prefix>jvm.garbage.G1_Old_Generation.time</prefix>\n          <prefix>jvm.garbage.G1_Young_Generation.time</prefix>\n        </allow>\n        <deny>\n          <prefix>jvm.</prefix>\n          <prefix>nuxeo.cache</prefix>\n          <prefix>nuxeo.work.queue</prefix>\n          <prefix>nuxeo.directories</prefix>\n          <prefix>nuxeo.ActionService</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.trace</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.info</prefix>\n          <prefix>org.apache.logging.log4j.core.Appender.debug</prefix>\n          <prefix>org.nuxeo.ecm.core.management.standby.StandbyComponent</prefix>\n          <!-- Timer expansion to remove -->\n          <expansion>stddev</expansion>\n          <expansion>min</expansion>\n          <expansion>p50</expansion>\n          <expansion>p75</expansion>\n          <expansion>p95</expansion>\n          <expansion>p98</expansion>\n          <expansion>p999</expansion>\n          <expansion>m5_rate</expansion>\n          <expansion>m15_rate</expansion>\n          <expansion>mean_rate</expansion>\n        </deny>\n      </filter>\n    </configuration>\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.metrics.MetricsService\" point=\"reporter\">\n    <reporter enabled=\"true\" name=\"jmx\" class=\"org.nuxeo.runtime.metrics.reporter.JmxReporter\"/>\n\n    <reporter enabled=\"false\" name=\"graphite\" pollInterval=\"30\" class=\"org.nuxeo.runtime.metrics.reporter.GraphiteReporter\">\n      <option name=\"prefix\"/>\n      <option name=\"udp\">false</option>\n      <option name=\"host\">graphite</option>\n      <option name=\"port\">2003</option>\n    </reporter>\n\n    <reporter enabled=\"false\" name=\"datadog\" pollInterval=\"60\" class=\"org.nuxeo.runtime.metrics.reporter.DatadogReporter\">\n      <option name=\"hostname\"/>\n      <option name=\"apiKey\">********</option>\n      <option name=\"udp\">false</option>\n      <option name=\"host\">localhost</option>\n      <option name=\"port\">8125</option>\n      <option name=\"tags\">nuxeo</option>\n      <option name=\"emptyTimerAsCount\">false</option>\n    </reporter>\n\n    <reporter enabled=\"false\" name=\"prometheus\" class=\"org.nuxeo.runtime.metrics.reporter.PrometheusReporter\">\n      <option name=\"port\">9090</option>\n    </reporter>\n\n    <reporter enabled=\"false\" name=\"jaeger\" class=\"org.nuxeo.runtime.metrics.reporter.JaegerReporter\">\n      <option name=\"url\"/>\n      <option name=\"timeout\">10s</option>\n      <option name=\"maxAttributes\">128</option>\n      <option name=\"maxAnnotations\">128</option>\n      <option name=\"samplerProbability\">0</option>\n    </reporter>\n\n    <reporter enabled=\"false\" name=\"zipkin\" class=\"org.nuxeo.runtime.metrics.reporter.ZipkinReporter\">\n      <option name=\"url\"/>\n      <option name=\"timeout\">10s</option>\n      <option name=\"maxAttributes\">128</option>\n      <option name=\"maxAnnotations\">128</option>\n      <option name=\"samplerProbability\">0</option>\n    </reporter>\n\n    <reporter enabled=\"false\" name=\"zpage\" class=\"org.nuxeo.runtime.metrics.reporter.ZPageReporter\">\n      <option name=\"port\">8887</option>\n    </reporter>\n\n    <reporter enabled=\"false\" name=\"datadogTrace\" class=\"org.nuxeo.runtime.metrics.reporter.DatadogTraceReporter\">\n      <option name=\"url\">http://localhost:8126/v0.3/traces</option>\n      <option name=\"service\">nuxeo</option>\n      <option name=\"timeout\">10s</option>\n      <option name=\"maxAttributes\">128</option>\n      <option name=\"maxAnnotations\">128</option>\n      <option name=\"samplerProbability\">0</option>\n    </reporter>\n\n    <reporter enabled=\"true\" name=\"stream\" pollInterval=\"60\" class=\"org.nuxeo.runtime.stream.StreamMetricsNuxeoReporter\">\n    </reporter>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.runtime.ConfigurationService\" point=\"configuration\">\n    <property name=\"metrics.streams.interval\">60s</property>\n  </extension>\n\n</component>",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/metrics-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--generalSettings",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.ear.config.notification/Contributions/org.nuxeo.ecm.platform.ear.config.notification--generalSettings",
              "id": "org.nuxeo.ecm.platform.ear.config.notification--generalSettings",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"generalSettings\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n    <settings>\n      <serverPrefix>http://localhost:8080/nuxeo/</serverPrefix>\n      <eMailSubjectPrefix>[Nuxeo] </eMailSubjectPrefix>\n      <mailSessionJndiName>java:comp/env/Mail</mailSessionJndiName>\n    </settings>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.ear.config.notification",
          "name": "org.nuxeo.ecm.platform.ear.config.notification",
          "requirements": [],
          "resolutionOrder": 16,
          "services": [],
          "startOrder": 318,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.ear.config.notification\">\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\"\n    point=\"generalSettings\">\n    <settings>\n      <serverPrefix>http://localhost:8080/nuxeo/</serverPrefix>\n      <eMailSubjectPrefix>[Nuxeo] </eMailSubjectPrefix>\n      <mailSessionJndiName>java:comp/env/Mail</mailSessionJndiName>\n    </settings>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/notification-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService--schedule",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.mail.scheduler.config/Contributions/org.nuxeo.ecm.platform.mail.scheduler.config--schedule",
              "id": "org.nuxeo.ecm.platform.mail.scheduler.config--schedule",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService",
                "name": "org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"schedule\" target=\"org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService\">\n\n    <schedule id=\"mailReceivedSchedule\">\n      <eventId>MailReceivedEvent</eventId>\n      <eventCategory>default</eventCategory>\n      <!-- every half hour of every day -->\n      <cronExpression>0 0/30 * * * ?</cronExpression>\n    </schedule>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.platform.mail.scheduler.config",
          "name": "org.nuxeo.ecm.platform.mail.scheduler.config",
          "requirements": [],
          "resolutionOrder": 17,
          "services": [],
          "startOrder": 355,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.platform.mail.scheduler.config\">\n\n  <extension\n    target=\"org.nuxeo.ecm.platform.scheduler.core.service.SchedulerRegistryService\"\n    point=\"schedule\">\n\n    <schedule id=\"mailReceivedSchedule\">\n      <eventId>MailReceivedEvent</eventId>\n      <eventCategory>default</eventCategory>\n      <!-- every half hour of every day -->\n      <cronExpression>0 0/30 * * * ?</cronExpression>\n    </schedule>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/nxmail-scheduler-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.transientstore.TransientStorageComponent--store",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.transient.store.config/Contributions/org.nuxeo.ecm.core.transient.store.config--store",
              "id": "org.nuxeo.ecm.core.transient.store.config--store",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.transientstore.TransientStorageComponent",
                "name": "org.nuxeo.ecm.core.transientstore.TransientStorageComponent",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"store\" target=\"org.nuxeo.ecm.core.transientstore.TransientStorageComponent\">\n\n        <store class=\"org.nuxeo.ecm.core.transientstore.keyvalueblob.KeyValueBlobTransientStore\" name=\"default\">\n      <targetMaxSizeMB>-1</targetMaxSizeMB>\n      <absoluteMaxSizeMB>-1</absoluteMaxSizeMB>\n      <firstLevelTTL>4320</firstLevelTTL>\n      <secondLevelTTL>10</secondLevelTTL>\n    </store>\n\n    <store name=\"authorizationRequestStore\">\n      <firstLevelTTL>10</firstLevelTTL>\n      <secondLevelTTL>0</secondLevelTTL>\n    </store>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.transient.store.config",
          "name": "org.nuxeo.ecm.core.transient.store.config",
          "requirements": [],
          "resolutionOrder": 18,
          "services": [],
          "startOrder": 174,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.transient.store.config\">\n\n  <extension target=\"org.nuxeo.ecm.core.transientstore.TransientStorageComponent\"\n    point=\"store\">\n\n        <store name=\"default\" class=\"org.nuxeo.ecm.core.transientstore.keyvalueblob.KeyValueBlobTransientStore\">\n      <targetMaxSizeMB>-1</targetMaxSizeMB>\n      <absoluteMaxSizeMB>-1</absoluteMaxSizeMB>\n      <firstLevelTTL>4320</firstLevelTTL>\n      <secondLevelTTL>10</secondLevelTTL>\n    </store>\n\n    <store name=\"authorizationRequestStore\">\n      <firstLevelTTL>10</firstLevelTTL>\n      <secondLevelTTL>0</secondLevelTTL>\n    </store>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/transient-store-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.services.event.EventService",
          "documentation": "\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nAn event notification service. Notifications are grouped by topics.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.EventService",
              "descriptors": [
                "org.nuxeo.runtime.services.event.ListenerDescriptor"
              ],
              "documentation": "Enable clients to register event listeners to one or more topics\n",
              "documentationHtml": "<p>\nEnable clients to register event listeners to one or more topics</p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.EventService/ExtensionPoints/org.nuxeo.runtime.EventService--listeners",
              "id": "org.nuxeo.runtime.EventService--listeners",
              "label": "listeners (org.nuxeo.runtime.EventService)",
              "name": "listeners",
              "version": "2023.11.13"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.EventService",
          "name": "org.nuxeo.runtime.EventService",
          "requirements": [],
          "resolutionOrder": 19,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.EventService",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.EventService/Services/org.nuxeo.runtime.services.event.EventService",
              "id": "org.nuxeo.runtime.services.event.EventService",
              "overriden": false,
              "version": "2023.11.13"
            }
          ],
          "startOrder": 918,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.EventService\" version=\"1.0\">\n  <documentation>\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.services.event.EventService\"/>\n\n  <service>\n\t  <provide interface=\"org.nuxeo.runtime.services.event.EventService\" />\n  </service>\n\n\n  <extension-point name=\"listeners\">\n    <documentation>Enable clients to register event listeners to one or more topics</documentation>\n    <object class=\"org.nuxeo.runtime.services.event.ListenerDescriptor\"/>\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/EventService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.RuntimeComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.RuntimeComponent",
          "name": "org.nuxeo.runtime.RuntimeComponent",
          "requirements": [],
          "resolutionOrder": 20,
          "services": [],
          "startOrder": 921,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.RuntimeComponent\" version=\"1.0\">\n  <implementation class=\"org.nuxeo.runtime.RuntimeComponent\"/>\n</component>\n",
          "xmlFileName": "/OSGI-INF/RuntimeComponent.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.services.resource.ResourceService",
          "documentation": "\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nAn event notification service. Notifications are grouped by topics.\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.services.resource.ResourceService",
              "descriptors": [
                "org.nuxeo.runtime.services.resource.ResourceDescriptor"
              ],
              "documentation": "Enable clients to register resources contained in their bundle under a name\n",
              "documentationHtml": "<p>\nEnable clients to register resources contained in their bundle under a name</p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.services.resource.ResourceService/ExtensionPoints/org.nuxeo.runtime.services.resource.ResourceService--resources",
              "id": "org.nuxeo.runtime.services.resource.ResourceService--resources",
              "label": "resources (org.nuxeo.runtime.services.resource.ResourceService)",
              "name": "resources",
              "version": "2023.11.13"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.services.resource.ResourceService",
          "name": "org.nuxeo.runtime.services.resource.ResourceService",
          "requirements": [],
          "resolutionOrder": 21,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.services.resource.ResourceService",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.services.resource.ResourceService/Services/org.nuxeo.runtime.services.resource.ResourceService",
              "id": "org.nuxeo.runtime.services.resource.ResourceService",
              "overriden": false,
              "version": "2023.11.13"
            }
          ],
          "startOrder": 929,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.services.resource.ResourceService\" version=\"1.0\">\n  <documentation>\n  An event notification service. Notifications are grouped by topics.\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.services.resource.ResourceService\"/>\n\n  <service>\n\t  <provide interface=\"org.nuxeo.runtime.services.resource.ResourceService\" />\n  </service>\n\n\n  <extension-point name=\"resources\">\n    <documentation>Enable clients to register resources contained in their bundle under a name</documentation>\n    <object class=\"org.nuxeo.runtime.services.resource.ResourceDescriptor\"/>\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/ResourceService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.api.login.LoginComponent",
          "documentation": "\n  The login component is defining the login infrastructure\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nThe login component is defining the login infrastructure\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginComponent",
          "name": "org.nuxeo.runtime.LoginComponent",
          "requirements": [],
          "resolutionOrder": 22,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.LoginComponent",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginComponent/Services/org.nuxeo.runtime.api.login.LoginService",
              "id": "org.nuxeo.runtime.api.login.LoginService",
              "overriden": false,
              "version": "2023.11.13"
            }
          ],
          "startOrder": 920,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.LoginComponent\" version=\"1.0\">\n  <documentation>\n  The login component is defining the login infrastructure\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.api.login.LoginComponent\"/>\n\n  <service>\n    <provide interface=\"org.nuxeo.runtime.api.login.LoginService\" />\n  </service>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/LoginComponent.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.api.login.LoginAsComponent",
          "documentation": "\n    The LoginAs component provides the service that allows to login\n    in the system as the given user without\n    checking the password\n  \n",
          "documentationHtml": "<p>\nThe LoginAs component provides the service that allows to login\nin the system as the given user without\nchecking the password\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.LoginAsComponent",
              "descriptors": [
                "org.nuxeo.runtime.api.login.LoginAsDescriptor"
              ],
              "documentation": "\n      The extension point to define the implementation of the service provided by the component\n    \n",
              "documentationHtml": "<p>\nThe extension point to define the implementation of the service provided by the component\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginAsComponent/ExtensionPoints/org.nuxeo.runtime.LoginAsComponent--implementation",
              "id": "org.nuxeo.runtime.LoginAsComponent--implementation",
              "label": "implementation (org.nuxeo.runtime.LoginAsComponent)",
              "name": "implementation",
              "version": "2023.11.13"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginAsComponent",
          "name": "org.nuxeo.runtime.LoginAsComponent",
          "requirements": [],
          "resolutionOrder": 23,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.LoginAsComponent",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.LoginAsComponent/Services/org.nuxeo.runtime.api.login.LoginAs",
              "id": "org.nuxeo.runtime.api.login.LoginAs",
              "overriden": false,
              "version": "2023.11.13"
            }
          ],
          "startOrder": 919,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.runtime.LoginAsComponent\" version=\"1.0\">\n\n  <documentation>\n    The LoginAs component provides the service that allows to login\n    in the system as the given user without\n    checking the password\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.api.login.LoginAsComponent\"/>\n\n  <service>\n    <provide interface=\"org.nuxeo.runtime.api.login.LoginAs\"/>\n  </service>\n\n  <extension-point name=\"implementation\">\n    <documentation>\n      The extension point to define the implementation of the service provided by the component\n    </documentation>\n    <object class=\"org.nuxeo.runtime.api.login.LoginAsDescriptor\"/>\n  </extension-point>\n\n</component>",
          "xmlFileName": "/OSGI-INF/LoginAsComponent.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.model.persistence.ContributionPersistenceComponent",
          "documentation": "\n  Manage (install and persist) external contributions.\n\n  The default contribution storage is implemented using the file system.\n  To change the storage implementation you must contribute to the extension point storage.\n\n  Note that you should contribute only one storage implementation.\n  Contributing multiple implementation may lead to inconsistent states (changing the storage on the fly).\n\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  \n",
          "documentationHtml": "<p>\nManage (install and persist) external contributions.\n</p><p>\nThe default contribution storage is implemented using the file system.\nTo change the storage implementation you must contribute to the extension point storage.\n</p><p>\nNote that you should contribute only one storage implementation.\nContributing multiple implementation may lead to inconsistent states (changing the storage on the fly).\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.model.persistence",
              "descriptors": [
                "org.nuxeo.runtime.model.persistence.ContributionStorageDescriptor"
              ],
              "documentation": "\n    A class specifying the storage implementation to use. This class must implement the\n    org.nuxeo.runtime.model.persistence.ContributionStorage interface.\n    \n",
              "documentationHtml": "<p>\nA class specifying the storage implementation to use. This class must implement the\norg.nuxeo.runtime.model.persistence.ContributionStorage interface.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.model.persistence/ExtensionPoints/org.nuxeo.runtime.model.persistence--listeners",
              "id": "org.nuxeo.runtime.model.persistence--listeners",
              "label": "listeners (org.nuxeo.runtime.model.persistence)",
              "name": "listeners",
              "version": "2023.11.13"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.model.persistence",
          "name": "org.nuxeo.runtime.model.persistence",
          "requirements": [],
          "resolutionOrder": 24,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.model.persistence",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.model.persistence/Services/org.nuxeo.runtime.model.persistence.ContributionPersistenceManager",
              "id": "org.nuxeo.runtime.model.persistence.ContributionPersistenceManager",
              "overriden": false,
              "version": "2023.11.13"
            }
          ],
          "startOrder": 927,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.runtime.model.persistence\" version=\"1.0\">\n  <documentation>\n  Manage (install and persist) external contributions.\n\n  The default contribution storage is implemented using the file system.\n  To change the storage implementation you must contribute to the extension point storage.\n\n  Note that you should contribute only one storage implementation.\n  Contributing multiple implementation may lead to inconsistent states (changing the storage on the fly).\n\n  @author Bogdan Stefanescu (bs@nuxeo.com)\n  </documentation>\n\n  <implementation class=\"org.nuxeo.runtime.model.persistence.ContributionPersistenceComponent\"/>\n\n  <service>\n\t  <provide interface=\"org.nuxeo.runtime.model.persistence.ContributionPersistenceManager\" />\n  </service>\n\n  <extension-point name=\"listeners\">\n    <documentation>\n    A class specifying the storage implementation to use. This class must implement the\n    org.nuxeo.runtime.model.persistence.ContributionStorage interface.\n    </documentation>\n    <object class=\"org.nuxeo.runtime.model.persistence.ContributionStorageDescriptor\"/>\n  </extension-point>\n\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/ContributionPersistence.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.trackers.files.FileEventTracker",
          "declaredStartOrder": 2147483647,
          "documentationHtml": "",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.trackers.files",
              "descriptors": [
                "org.nuxeo.runtime.trackers.files.FileEventTracker.EnableThreadsTracking"
              ],
              "documentationHtml": "",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.trackers.files/ExtensionPoints/org.nuxeo.runtime.trackers.files--configs",
              "id": "org.nuxeo.runtime.trackers.files--configs",
              "label": "configs (org.nuxeo.runtime.trackers.files)",
              "name": "configs",
              "version": "2023.11.13"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.trackers.files",
          "name": "org.nuxeo.runtime.trackers.files",
          "requirements": [
            "org.nuxeo.runtime.EventService"
          ],
          "resolutionOrder": 25,
          "services": [],
          "startOrder": 938,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.trackers.files\">\n\n\t<require>org.nuxeo.runtime.EventService</require>\n\n\t<implementation class=\"org.nuxeo.runtime.trackers.files.FileEventTracker\" />\n\n\t<extension-point name=\"configs\">\n\t\t<object class=\"org.nuxeo.runtime.trackers.files.FileEventTracker$EnableThreadsTracking\" />\n\t</extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/FileEventTracker.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.services.config.ConfigurationServiceImpl",
          "documentation": "\n    The ConfigurationService service holds application configuration properties that are used at runtime. This\n    service should not include properties that are needed at startup.\n\n    @since 7.4\n  \n",
          "documentationHtml": "<p>\nThe ConfigurationService service holds application configuration properties that are used at runtime. This\nservice should not include properties that are needed at startup.\n</p><p>\n&#64;since 7.4\n</p><p></p>",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.runtime.ConfigurationService",
              "descriptors": [
                "org.nuxeo.runtime.services.config.ConfigurationPropertyDescriptor"
              ],
              "documentation": "\n      The configuration extension point allows to define named properties.\n\n      Properties can be marked as list and if defined many times, values will be appended as comma separated values.\n\n      You can override existing list property with the override attribute.\n\n      Example:\n\n      <code>\n    <property name=\"nuxeo.jsf.enableDoubleClickShield\">true</property>\n    <property name=\"nuxeo.jsf.useAjaxTabs\">false</property>\n    <property list=\"true\" name=\"nuxeo.list.value\">foo</property>\n    <property name=\"nuxeo.list.value\">bar</property>\n    <property name=\"nuxeo.list.value\" override=\"true\">I'd like to make sure value is not foo,bar anymore</property>\n</code>\n",
              "documentationHtml": "<p>\nThe configuration extension point allows to define named properties.\n</p><p>\nProperties can be marked as list and if defined many times, values will be appended as comma separated values.\n</p><p>\nYou can override existing list property with the override attribute.\n</p><p>\nExample:\n</p><p>\n</p><pre><code>    &lt;property name&#61;&#34;nuxeo.jsf.enableDoubleClickShield&#34;&gt;true&lt;/property&gt;\n    &lt;property name&#61;&#34;nuxeo.jsf.useAjaxTabs&#34;&gt;false&lt;/property&gt;\n    &lt;property list&#61;&#34;true&#34; name&#61;&#34;nuxeo.list.value&#34;&gt;foo&lt;/property&gt;\n    &lt;property name&#61;&#34;nuxeo.list.value&#34;&gt;bar&lt;/property&gt;\n    &lt;property name&#61;&#34;nuxeo.list.value&#34; override&#61;&#34;true&#34;&gt;I&#39;d like to make sure value is not foo,bar anymore&lt;/property&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.ConfigurationService/ExtensionPoints/org.nuxeo.runtime.ConfigurationService--configuration",
              "id": "org.nuxeo.runtime.ConfigurationService--configuration",
              "label": "configuration (org.nuxeo.runtime.ConfigurationService)",
              "name": "configuration",
              "version": "2023.11.13"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.ConfigurationService",
          "name": "org.nuxeo.runtime.ConfigurationService",
          "requirements": [],
          "resolutionOrder": 26,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.ConfigurationService",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.ConfigurationService/Services/org.nuxeo.runtime.services.config.ConfigurationService",
              "id": "org.nuxeo.runtime.services.config.ConfigurationService",
              "overriden": false,
              "version": "2023.11.13"
            }
          ],
          "startOrder": 917,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.ConfigurationService\">\n\n  <documentation>\n    The ConfigurationService service holds application configuration properties that are used at runtime. This\n    service should not include properties that are needed at startup.\n\n    @since 7.4\n  </documentation>\n\n  <implementation\n    class=\"org.nuxeo.runtime.services.config.ConfigurationServiceImpl\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.runtime.services.config.ConfigurationService\" />\n  </service>\n\n  <extension-point name=\"configuration\">\n    <documentation>\n      The configuration extension point allows to define named properties.\n\n      Properties can be marked as list and if defined many times, values will be appended as comma separated values.\n\n      You can override existing list property with the override attribute.\n\n      Example:\n\n      <code>\n        <property name=\"nuxeo.jsf.enableDoubleClickShield\">true</property>\n        <property name=\"nuxeo.jsf.useAjaxTabs\">false</property>\n\n        <property name=\"nuxeo.list.value\" list=\"true\">foo</property>\n        <property name=\"nuxeo.list.value\">bar</property>\n        <property name=\"nuxeo.list.value\" override=\"true\">I'd like to make sure value is not foo,bar anymore</property>\n      </code>\n    </documentation>\n    <object class=\"org.nuxeo.runtime.services.config.ConfigurationPropertyDescriptor\" />\n  </extension-point>\n\n</component>",
          "xmlFileName": "/OSGI-INF/ConfigurationService.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.runtime.capabilities.CapabilitiesServiceImpl",
          "declaredStartOrder": -2000,
          "documentation": "\n    The Capabilities service allows registration of the capabilities.\n  \n",
          "documentationHtml": "<p>\nThe Capabilities service allows registration of the capabilities.\n</p><p></p>",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.capabilities.CapabilitiesService",
          "name": "org.nuxeo.runtime.capabilities.CapabilitiesService",
          "requirements": [],
          "resolutionOrder": 27,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.runtime.capabilities.CapabilitiesService",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.capabilities.CapabilitiesService/Services/org.nuxeo.runtime.capabilities.CapabilitiesService",
              "id": "org.nuxeo.runtime.capabilities.CapabilitiesService",
              "overriden": false,
              "version": "2023.11.13"
            }
          ],
          "startOrder": 0,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.runtime.capabilities.CapabilitiesService\" version=\"1.0\">\n\n  <documentation>\n    The Capabilities service allows registration of the capabilities.\n  </documentation>\n\n  <service>\n    <provide interface=\"org.nuxeo.runtime.capabilities.CapabilitiesService\" />\n  </service>\n\n  <implementation class=\"org.nuxeo.runtime.capabilities.CapabilitiesServiceImpl\" />\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/capabilities-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.directory.sql.SQLDirectoryFactory--directories",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.template.directory.sql/Contributions/org.nuxeo.template.directory.sql--directories",
              "id": "org.nuxeo.template.directory.sql--directories",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.directory.sql.SQLDirectoryFactory",
                "name": "org.nuxeo.ecm.directory.sql.SQLDirectoryFactory",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"directories\" target=\"org.nuxeo.ecm.directory.sql.SQLDirectoryFactory\">\n\n    <directory name=\"template-directory\" template=\"true\">\n      <dataSource>java:/nxsqldirectory</dataSource>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n    </directory>\n\n    <directory extends=\"template-directory\" name=\"template-user\" template=\"true\">\n      <table>users</table>\n      <computeMultiTenantId>false</computeMultiTenantId>\n    </directory>\n\n    <directory extends=\"template-directory\" name=\"template-group\" template=\"true\">\n      <table>groups</table>\n    </directory>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.template.directory.sql",
          "name": "org.nuxeo.template.directory.sql",
          "requirements": [
            "org.nuxeo.ecm.directories"
          ],
          "resolutionOrder": 350,
          "services": [],
          "startOrder": 745,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.template.directory.sql\">\n\n  <require>org.nuxeo.ecm.directories</require>\n  <extension target=\"org.nuxeo.ecm.directory.sql.SQLDirectoryFactory\" point=\"directories\">\n\n    <directory name=\"template-directory\" template=\"true\">\n      <dataSource>java:/nxsqldirectory</dataSource>\n      <createTablePolicy>on_missing_columns</createTablePolicy>\n    </directory>\n\n    <directory name=\"template-user\" template=\"true\" extends=\"template-directory\">\n      <table>users</table>\n      <computeMultiTenantId>false</computeMultiTenantId>\n    </directory>\n\n    <directory name=\"template-group\" template=\"true\" extends=\"template-directory\">\n      <table>groups</table>\n    </directory>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/sql-template-directory-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.work.service--queues",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.work.config.default/Contributions/org.nuxeo.ecm.core.work.config.default--queues",
              "id": "org.nuxeo.ecm.core.work.config.default--queues",
              "registrationOrder": 14,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.work.service",
                "name": "org.nuxeo.ecm.core.work.service",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"queues\" target=\"org.nuxeo.ecm.core.work.service\">\n    <queue id=\"common\">\n      <name>Common Shared Queue for Nuxeo Works</name>\n      <maxThreads>4</maxThreads>\n      <category>aceStatusUpdatedListener</category>\n      <category>binary_metadata_work</category>\n      <category>blobManagerDeleteMarkedBlobsListener</category>\n      <category>checkedInCommentListener</category>\n      <category>cleanOpenTasksOnWorkflowDone</category>\n      <category>ConversionWork</category>\n      <category>CounterListener</category>\n      <category>deleteRoutingTaskListener</category>\n      <category>docRemovedCommentListener</category>\n      <category>documenttemplate-type-binding</category>\n      <category>findRetentionExpired</category>\n      <category>fulltextExtractor</category>\n      <category>notificationListener</category>\n      <category>nuxeoDriveGroupUpdateListener</category>\n      <category>nuxeoDriveVirtualEventLoggerListener</category>\n      <category>opchainpclistener</category>\n      <category>orphanVersionRemoverListener</category>\n      <category>permissionNotificationListener</category>\n      <category>removeDocumentRoutesForDeletedDocument</category>\n      <category>removeTasksForDeletedDocumentRoute</category>\n      <category>storedRenditionsCleanup</category>\n      <category>taggedVersionListener</category>\n      <category>triggerEsclationRules</category>\n      <category>unicityListener</category>\n      <category>UserProfileImporterWork</category>\n      <category>wopiDiscoveryRefreshListener</category>\n      <category>wopiLocksExpiration</category>\n      <category>workflowInstancesCleanup</category>\n    </queue>\n    <queue id=\"updateThumbListener\">\n      <maxThreads>4</maxThreads>\n      <category>updateThumbListener</category>\n    </queue>\n    <queue id=\"raclupdate\">\n      <name>Queue for DBS Read ACL update Works</name>\n      <maxThreads>4</maxThreads>\n      <category>security</category>\n    </queue>\n    <queue id=\"pictureViewsGeneration\">\n      <maxThreads>2</maxThreads>\n      <category>pictureViewsGenerationListener</category>\n      <category>pictureViewsGeneration</category>\n    </queue>\n    <queue id=\"videoConversion\">\n      <maxThreads>2</maxThreads>\n      <category>videoConversion</category>\n      <category>videoInfo</category>\n      <category>videoStoryboard</category>\n    </queue>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.ecm.core.work.config.default",
          "name": "org.nuxeo.ecm.core.work.config.default",
          "requirements": [
            "org.nuxeo.ecm.collections.workmanager",
            "org.nuxeo.ecm.platform.picture.workmanager",
            "org.nuxeo.ecm.platform.video.workmanager",
            "org.nuxeo.ecm.automation.core.impl.workmanager",
            "org.nuxeo.ecm.core.work.config"
          ],
          "resolutionOrder": 603,
          "services": [],
          "startOrder": 181,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.core.work.config.default\" version=\"1.0\">\n  <require>org.nuxeo.ecm.core.work.config</require>\n  <require>org.nuxeo.ecm.automation.core.impl.workmanager</require>\n  <require>org.nuxeo.ecm.collections.workmanager</require>\n  <require>org.nuxeo.ecm.platform.picture.workmanager</require>\n  <require>org.nuxeo.ecm.platform.video.workmanager</require>\n  <extension target=\"org.nuxeo.ecm.core.work.service\" point=\"queues\">\n    <queue id=\"common\">\n      <name>Common Shared Queue for Nuxeo Works</name>\n      <maxThreads>4</maxThreads>\n      <category>aceStatusUpdatedListener</category>\n      <category>binary_metadata_work</category>\n      <category>blobManagerDeleteMarkedBlobsListener</category>\n      <category>checkedInCommentListener</category>\n      <category>cleanOpenTasksOnWorkflowDone</category>\n      <category>ConversionWork</category>\n      <category>CounterListener</category>\n      <category>deleteRoutingTaskListener</category>\n      <category>docRemovedCommentListener</category>\n      <category>documenttemplate-type-binding</category>\n      <category>findRetentionExpired</category>\n      <category>fulltextExtractor</category>\n      <category>notificationListener</category>\n      <category>nuxeoDriveGroupUpdateListener</category>\n      <category>nuxeoDriveVirtualEventLoggerListener</category>\n      <category>opchainpclistener</category>\n      <category>orphanVersionRemoverListener</category>\n      <category>permissionNotificationListener</category>\n      <category>removeDocumentRoutesForDeletedDocument</category>\n      <category>removeTasksForDeletedDocumentRoute</category>\n      <category>storedRenditionsCleanup</category>\n      <category>taggedVersionListener</category>\n      <category>triggerEsclationRules</category>\n      <category>unicityListener</category>\n      <category>UserProfileImporterWork</category>\n      <category>wopiDiscoveryRefreshListener</category>\n      <category>wopiLocksExpiration</category>\n      <category>workflowInstancesCleanup</category>\n    </queue>\n    <queue id=\"updateThumbListener\">\n      <maxThreads>4</maxThreads>\n      <category>updateThumbListener</category>\n    </queue>\n    <queue id=\"raclupdate\">\n      <name>Queue for DBS Read ACL update Works</name>\n      <maxThreads>4</maxThreads>\n      <category>security</category>\n    </queue>\n    <queue id=\"pictureViewsGeneration\">\n      <maxThreads>2</maxThreads>\n      <category>pictureViewsGenerationListener</category>\n      <category>pictureViewsGeneration</category>\n    </queue>\n    <queue id=\"videoConversion\">\n      <maxThreads>2</maxThreads>\n      <category>videoConversion</category>\n      <category>videoInfo</category>\n      <category>videoStoryboard</category>\n    </queue>\n  </extension>\n</component>\n\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/workmanager-queue-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchEmbeddedServer",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig/Contributions/org.nuxeo.elasticsearch.defaultConfig--elasticSearchEmbeddedServer",
              "id": "org.nuxeo.elasticsearch.defaultConfig--elasticSearchEmbeddedServer",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"elasticSearchEmbeddedServer\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n    <elasticSearchEmbeddedServer clusterName=\"nuxeoCluster\" httpEnabled=\"true\" networkHost=\"127.0.0.1\" nodeName=\"nuxeoNode\" pathData=\"/var/lib/nuxeo/elasticsearch\" pathLogs=\"/var/log/nuxeo/elasticsearch\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchClient",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig/Contributions/org.nuxeo.elasticsearch.defaultConfig--elasticSearchClient",
              "id": "org.nuxeo.elasticsearch.defaultConfig--elasticSearchClient",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"elasticSearchClient\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n    <elasticSearchClient class=\"org.nuxeo.elasticsearch.client.ESRestClientFactory\">\n      <option name=\"addressList\"/>\n      <option name=\"connection.timeout.ms\">30000</option>\n      <option name=\"socket.timeout.ms\">121000</option>\n      <option name=\"username\"/>\n      <option name=\"password\">********</option>\n      <option name=\"trustStorePath\"/>\n      <option name=\"trustStorePassword\">********</option>\n      <option name=\"trustStoreType\"/>\n      <option name=\"keyStorePath\"/>\n      <option name=\"keyStorePassword\">********</option>\n      <option name=\"keyStoreType\"/>\n      <option name=\"sslCertificateVerification\">true</option>\n      <!-- deprecated since 10.3, and actually referring to the trustStore -->\n    </elasticSearchClient>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig/Contributions/org.nuxeo.elasticsearch.defaultConfig--elasticSearchIndex",
              "id": "org.nuxeo.elasticsearch.defaultConfig--elasticSearchIndex",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"elasticSearchIndex\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n    <elasticSearchIndex manageAlias=\"false\" name=\"nuxeo\" repository=\"default\" type=\"doc\">\n      <fetchFromSource>\n        <include>ecm:*</include>\n        <include>dc:*</include>\n        <exclude>ecm:binarytext</exclude>\n      </fetchFromSource>\n      <settings file=\"elasticsearch-doc-settings.json\"/>\n      <mapping file=\"elasticsearch-doc-mapping.json\"/>\n    </elasticSearchIndex>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.defaultConfig",
          "name": "org.nuxeo.elasticsearch.defaultConfig",
          "requirements": [
            "org.nuxeo.elasticsearch.ElasticSearchComponent"
          ],
          "resolutionOrder": 786,
          "services": [],
          "startOrder": 664,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.elasticsearch.defaultConfig\">\n  <require>org.nuxeo.elasticsearch.ElasticSearchComponent</require>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" point=\"elasticSearchEmbeddedServer\">\n    <elasticSearchEmbeddedServer clusterName=\"nuxeoCluster\" nodeName=\"nuxeoNode\" pathData=\"/var/lib/nuxeo/elasticsearch\" pathLogs=\"/var/log/nuxeo/elasticsearch\" httpEnabled=\"true\" networkHost=\"127.0.0.1\"/>\n  </extension>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" point=\"elasticSearchClient\">\n    <elasticSearchClient class=\"org.nuxeo.elasticsearch.client.ESRestClientFactory\">\n      <option name=\"addressList\"/>\n      <option name=\"connection.timeout.ms\">30000</option>\n      <option name=\"socket.timeout.ms\">121000</option>\n      <option name=\"username\"/>\n      <option name=\"password\">********</option>\n      <option name=\"trustStorePath\"/>\n      <option name=\"trustStorePassword\">********</option>\n      <option name=\"trustStoreType\"/>\n      <option name=\"keyStorePath\"/>\n      <option name=\"keyStorePassword\">********</option>\n      <option name=\"keyStoreType\"/>\n      <option name=\"sslCertificateVerification\">true</option>\n      <!-- deprecated since 10.3, and actually referring to the trustStore -->\n    </elasticSearchClient>\n  </extension>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" point=\"elasticSearchIndex\">\n    <elasticSearchIndex name=\"nuxeo\" type=\"doc\" repository=\"default\" manageAlias=\"false\">\n      <fetchFromSource>\n        <include>ecm:*</include>\n        <include>dc:*</include>\n        <exclude>ecm:binarytext</exclude>\n      </fetchFromSource>\n      <settings file=\"elasticsearch-doc-settings.json\"/>\n      <mapping file=\"elasticsearch-doc-mapping.json\"/>\n    </elasticSearchIndex>\n  </extension>\n\n</component>",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/elasticsearch-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.audit.contrib/Contributions/org.nuxeo.elasticsearch.index.audit.contrib--elasticSearchIndex",
              "id": "org.nuxeo.elasticsearch.index.audit.contrib--elasticSearchIndex",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"elasticSearchIndex\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n\n    <elasticSearchIndex name=\"nuxeo-audit\" type=\"entry\">\n      <settings file=\"elasticsearch-audit-settings.json\"/>\n      <mapping file=\"elasticsearch-audit-mapping.json\"/>\n    </elasticSearchIndex>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.audit.contrib",
          "name": "org.nuxeo.elasticsearch.index.audit.contrib",
          "requirements": [
            "org.nuxeo.elasticsearch.ElasticSearchComponent"
          ],
          "resolutionOrder": 788,
          "services": [],
          "startOrder": 667,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.index.audit.contrib\">\n  <require>org.nuxeo.elasticsearch.ElasticSearchComponent</require>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\"\n\t     point=\"elasticSearchIndex\">\n\n    <elasticSearchIndex name=\"nuxeo-audit\" type=\"entry\" >\n      <settings file=\"elasticsearch-audit-settings.json\" />\n      <mapping file=\"elasticsearch-audit-mapping.json\" />\n    </elasticSearchIndex>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/elasticsearch-audit-index-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.sequence.contrib/Contributions/org.nuxeo.elasticsearch.index.sequence.contrib--elasticSearchIndex",
              "id": "org.nuxeo.elasticsearch.index.sequence.contrib--elasticSearchIndex",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"elasticSearchIndex\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n\n    <elasticSearchIndex name=\"nuxeo-uidgen\" type=\"seqId\">\n\n      <settings>\n        {\n        \"number_of_shards\" : 1,\n        \"index.translog.durability\": \"request\",\n        \"auto_expand_replicas\" : \"0-all\"\n        }\n      </settings>\n\n      <mapping>\n        {\n        \"_source\" : {\"enabled\": false},\n        \"enabled\" : false\n        }\n      </mapping>\n\n    </elasticSearchIndex>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.elasticsearch.index.sequence.contrib",
          "name": "org.nuxeo.elasticsearch.index.sequence.contrib",
          "requirements": [
            "org.nuxeo.elasticsearch.ElasticSearchComponent"
          ],
          "resolutionOrder": 789,
          "services": [],
          "startOrder": 668,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.index.sequence.contrib\">\n  <require>org.nuxeo.elasticsearch.ElasticSearchComponent</require>\n\n  <extension target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" point=\"elasticSearchIndex\">\n\n    <elasticSearchIndex name=\"nuxeo-uidgen\" type=\"seqId\">\n\n      <settings>\n        {\n        \"number_of_shards\" : 1,\n        \"index.translog.durability\": \"request\",\n        \"auto_expand_replicas\" : \"0-all\"\n        }\n      </settings>\n\n      <mapping>\n        {\n        \"_source\" : {\"enabled\": false},\n        \"enabled\" : false\n        }\n      </mapping>\n\n    </elasticSearchIndex>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/elasticsearch-sequence-index-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.stream.service--logConfig",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig/Contributions/org.nuxeo.stream.defaultConfig--logConfig",
              "id": "org.nuxeo.stream.defaultConfig--logConfig",
              "registrationOrder": 1,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.stream.service",
                "name": "org.nuxeo.runtime.stream.service",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"logConfig\" target=\"org.nuxeo.runtime.stream.service\">\n    <logConfig default=\"true\" name=\"default\" type=\"mem\">\n    </logConfig>\n    <logConfig name=\"bulk\" type=\"mem\">\n      <log name=\"bulk/command\" size=\"2\"/>\n      <log name=\"bulk/status\" size=\"2\"/>\n      <log name=\"bulk/done\" size=\"1\"/>\n      <match name=\"bulk/\"/>\n    </logConfig>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.stream.service--logConfig",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig/Contributions/org.nuxeo.stream.defaultConfig--logConfig1",
              "id": "org.nuxeo.stream.defaultConfig--logConfig1",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.stream.service",
                "name": "org.nuxeo.runtime.stream.service",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"logConfig\" target=\"org.nuxeo.runtime.stream.service\">\n     <logConfig name=\"audit\" type=\"mem\">\n       <match name=\"audit/\"/>\n     </logConfig>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.stream.service--logConfig",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig/Contributions/org.nuxeo.stream.defaultConfig--logConfig2",
              "id": "org.nuxeo.stream.defaultConfig--logConfig2",
              "registrationOrder": 3,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.stream.service",
                "name": "org.nuxeo.runtime.stream.service",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"logConfig\" target=\"org.nuxeo.runtime.stream.service\">\n     <logConfig name=\"pubsub\" type=\"mem\">\n       <option name=\"retention\">4h</option>\n       <log name=\"pubsub/pubsub\" size=\"1\"/>\n       <match name=\"pubsub/\"/>\n     </logConfig>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.runtime.pubsub.PubSubService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig/Contributions/org.nuxeo.stream.defaultConfig--configuration",
              "id": "org.nuxeo.stream.defaultConfig--configuration",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.runtime.pubsub.PubSubService",
                "name": "org.nuxeo.runtime.pubsub.PubSubService",
                "type": "service"
              },
              "version": "2023.11.13",
              "xml": "<extension point=\"configuration\" target=\"org.nuxeo.runtime.pubsub.PubSubService\">\n    <provider class=\"org.nuxeo.runtime.pubsub.StreamPubSubProvider\">\n      <option name=\"logName\">pubsub/pubsub</option>\n      <option name=\"codec\">avro</option>\n    </provider>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.stream.defaultConfig",
          "name": "org.nuxeo.stream.defaultConfig",
          "requirements": [
            "org.nuxeo.runtime.stream.service",
            "org.nuxeo.ecm.core.bulk.config",
            "org.nuxeo.ecm.platform.audit.service.NXAuditEventsService"
          ],
          "resolutionOrder": 826,
          "services": [],
          "startOrder": 743,
          "version": "2023.11.13",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.stream.defaultConfig\">\n    <require>org.nuxeo.runtime.stream.service</require>\n  <require>org.nuxeo.ecm.core.bulk.config</require>\n  <extension target=\"org.nuxeo.runtime.stream.service\" point=\"logConfig\">\n    <logConfig name=\"default\" type=\"mem\" default=\"true\">\n    </logConfig>\n    <logConfig name=\"bulk\" type=\"mem\">\n      <log name=\"bulk/command\" size=\"2\" />\n      <log name=\"bulk/status\" size=\"2\" />\n      <log name=\"bulk/done\" size=\"1\" />\n      <match name=\"bulk/\" />\n    </logConfig>\n  </extension>\n  <require>org.nuxeo.ecm.platform.audit.service.NXAuditEventsService</require>\n  <extension target=\"org.nuxeo.runtime.stream.service\" point=\"logConfig\">\n     <logConfig name=\"audit\" type=\"mem\">\n       <match name=\"audit/\" />\n     </logConfig>\n  </extension>\n <extension target=\"org.nuxeo.runtime.stream.service\" point=\"logConfig\">\n     <logConfig name=\"pubsub\" type=\"mem\">\n       <option name=\"retention\">4h</option>\n       <log name=\"pubsub/pubsub\" size=\"1\" />\n       <match name=\"pubsub/\" />\n     </logConfig>\n  </extension>\n  <extension target=\"org.nuxeo.runtime.pubsub.PubSubService\" point=\"configuration\">\n    <provider class=\"org.nuxeo.runtime.pubsub.StreamPubSubProvider\">\n      <option name=\"logName\">pubsub/pubsub</option>\n      <option name=\"codec\">avro</option>\n    </provider>\n  </extension>\n</component>\n",
          "xmlFileName": "/opt/nuxeo/server/nxserver/config/stream-config.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime/org.nuxeo.runtime.started",
          "name": "org.nuxeo.runtime.started",
          "requirements": [],
          "resolutionOrder": 939,
          "services": [],
          "startOrder": 724,
          "version": "2023.11.13",
          "xmlFileContent": "",
          "xmlFileName": "",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-runtime-2023.11.13.jar",
      "groupId": "org.nuxeo.runtime",
      "hierarchyPath": "/grp:org.nuxeo.runtime/org.nuxeo.runtime",
      "id": "org.nuxeo.runtime",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: 1.6.0_20 (Sun Microsystems Inc.)\r\nBuilt-By: root\r\nBuild-Jdk: 17.0.11\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 5.4.2.qualifier\r\nExport-Package: org.nuxeo.runtime,org.nuxeo.runtime.api,org.nuxeo.runtim\r\n e.api.login,org.nuxeo.runtime.deploy,org.nuxeo.runtime.expression,org.n\r\n uxeo.runtime.model,org.nuxeo.runtime.model.impl,org.nuxeo.runtime.model\r\n .persistence,org.nuxeo.runtime.model.persistence.fs,org.nuxeo.runtime.o\r\n sgi,org.nuxeo.runtime.service,org.nuxeo.runtime.service.sample,org.nuxe\r\n o.runtime.services.adapter,org.nuxeo.runtime.services.adapter.extension\r\n ,org.nuxeo.runtime.services.deployment,org.nuxeo.runtime.services.event\r\n ,org.nuxeo.runtime.services.resource,org.nuxeo.runtime.services.streami\r\n ng,org.nuxeo.runtime.transaction,org.nuxeo.runtime.util\r\nPrivate-Package: .\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Category: runtime\r\nBundle-Name: Nuxeo Eclipse Runtime\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.6\r\nEclipse-BuddyPolicy: registered\r\nNuxeo-Component: OSGI-INF/EventService.xml,OSGI-INF/RuntimeComponent.xml\r\n ,OSGI-INF/ResourceService.xml,OSGI-INF/LoginComponent.xml,OSGI-INF/Logi\r\n nAsComponent.xml,OSGI-INF/ContributionPersistence.xml,OSGI-INF/FileEven\r\n tTracker.xml,OSGI-INF/FileEventTrackerConfig.xml,OSGI-INF/Configuration\r\n Service.xml,OSGI-INF/capabilities-service.xml\r\nBundle-Activator: org.nuxeo.runtime.osgi.OSGiRuntimeActivator\r\nImport-Package: javax.management,javax.naming,javax.naming.spi,javax.sec\r\n urity.auth,javax.security.auth.callback,javax.security.auth.login,javax\r\n .security.auth.spi,javax.sql,javax.transaction;version=\"1.1\",javax.xml.\r\n parsers,org.apache.commons.io,org.apache.commons.jexl;resolution:=optio\r\n nal,org.apache.commons.logging,org.nuxeo.common,org.nuxeo.common.collec\r\n tions,org.nuxeo.common.logging,org.nuxeo.common.utils,org.nuxeo.common.\r\n xmap,org.nuxeo.common.xmap.annotation,org.osgi.framework,org.osgi.servi\r\n ce.packageadmin,org.w3c.dom,org.w3c.dom.ranges\r\nBundle-SymbolicName: org.nuxeo.runtime;singleton:=true\r\n\r\n",
      "maxResolutionOrder": 939,
      "minResolutionOrder": 0,
      "packages": [],
      "requirements": [],
      "version": "2023.11.13"
    }
  ],
  "creationDate": 1714983515104,
  "key": "Nuxeo Platform-2023.11",
  "name": "Nuxeo Platform",
  "operations": [],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1714983515104,
  "version": "2023.11"
}